package io;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.nio.charset.StandardCharsets;

public class ReadStringDemo {
    public static void main(String[] args) throws IOException {

        /*
         * 通过输入流 读取文件中的字符串数据
         */

        //创建文件实例 路径为想要操作的文件
        File file = new File("test.txt");
        //创建对file中制定路径的 输入流(向程序中读取数据)
        FileInputStream fileInputStream = new FileInputStream(file);
        //因为是读取文件所以使用块读取的时候可以直接根据file.length()（文件的长度）来确定一次读多少个数据
        byte[] byt = new byte[(int) file.length()];
        //使用输入流的块读取，给read传入byte类型的数组
        fileInputStream.read(byt);
        //使用String类中的构造器 ， 对byt数组中的字节数据转换为String字符串
        String line = new String(byt, StandardCharsets.UTF_8);
        //输出转换之后的line变量
        System.out.println(line);
        //关闭输入流
        fileInputStream.close();
    }
}
